package com.coflxl.web;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import java.util.HashMap;


@SpringBootApplication
@EnableTransactionManagement
public class CoflxlJavaApplication {
    public static void main(String[] args) {
        SpringApplication.run(CoflxlJavaApplication.class, args);
    }
    /***
     * 构建Swagger3.0文档说明
     * @return 返回 OpenAPI
     */
    @Bean
    public OpenAPI customOpenAPI() {

        // 联系人信息(contact)，构建API的联系人信息，用于描述API开发者的联系信息，包括名称、URL、邮箱等
        // name：文档的发布者名称 url：文档发布者的网站地址，一般为企业网站 email：文档发布者的电子邮箱
        Contact contact = new Contact()
                .name("lxl")                             // 作者名称
                .email("liuxiaox821@163.com")                   // 作者邮箱
                .url("")  // 介绍作者的URL地址
                .extensions(new HashMap<>()); // 使用Map配置信息（如key为"name","email","url"）

        //创建Api帮助文档的描述信息、联系人信息(contact)、授权许可信息(license)
        Info info = new Info()
                .title("CoflxlJava公共服务接口文档")      // Api接口文档标题（必填）
                .description("CoflxlJava公共服务接口文档")     // Api接口文档描述
                .version("1.2.1")                                  // Api接口版本
                .contact(contact);                                 // 授权许可信息
        // 返回信息
        return new OpenAPI()
                .openapi("3.0.1")  // Open API 3.0.1(默认)
                .info(info);       // 配置Swagger3.0描述信息
    }
}

